88cc247
@@ -25,6 +25,8 @@
import org.apache.camel.Exchange;
 import org.apache.camel.util.ExchangeHelper;
 import org.apache.camel.util.GZIPHelper;
 import org.apache.http.HttpEntity;
+import org.apache.http.entity.AbstractHttpEntity;
+import org.apache.http.entity.ByteArrayEntity;
 import org.apache.http.entity.InputStreamEntity;
 
 /**
@@ -77,14 +79,15 @@
public final class HttpEntityConverter {
     }
 
     private static HttpEntity asHttpEntity(byte[] data, Exchange exchange) throws Exception {
-        InputStreamEntity entity;
+        AbstractHttpEntity entity;
         if (exchange != null && !exchange.getProperty(Exchange.SKIP_GZIP_ENCODING, Boolean.FALSE, Boolean.class)) {
             String contentEncoding = exchange.getIn().getHeader(Exchange.CONTENT_ENCODING, String.class);
             InputStream stream = GZIPHelper.compressGzip(contentEncoding, data);
             entity = new InputStreamEntity(stream, stream instanceof ByteArrayInputStream
                 ? stream.available() != 0 ? stream.available() : -1 : -1);
         } else {
-            entity = new InputStreamEntity(new ByteArrayInputStream(data), data.length);
+            // create the Repeatable HttpEntity
+            entity = new ByteArrayEntity(data);
         }
         if (exchange != null) {
             String contentEncoding = exchange.getIn().getHeader(Exchange.CONTENT_ENCODING, String.class);
